import pymysql
import xlwt
# from pyExcelerator import *
from datetime import datetime
def get_data():
    # 创建数据库连接.
    conn = pymysql.Connect(
        host='',  ##mysql服务器地址
        port=3306,  ##mysql服务器端口号
        user='root',  ##用户名
        password='nx123',  ##密码
        db='nx_spider_everyday_sum',  ##数据库名
        charset='utf8'  ##连接编码
    )
    cursor = conn.cursor()
    sql_select = "SELECT * FROM baozou_spider_everyday_sum"
    effect_row = cursor.execute(sql_select)
    results = cursor.fetchall()
    conn.commit()
    cursor.close()
    conn.close()
    return results

# get_data()

def set_style(name,height,bold=False):
    style = xlwt.XFStyle() # 初始化样式
    font = xlwt.Font() # 为样式创建字体
    font.name = name # 'Times New Roman'
    font.bold = bold
    font.color_index = 4
    font.height = height

    # borders= xlwt.Borders()
     # borders.left= 6
     # borders.right= 6
     # borders.top= 6
     # borders.bottom= 6
    style.font = font
    # style.borders = borders
    return style

def write_data_to_excel():
    # # 将sql作为参数传递调用get_data并将结果赋值给result,(result为一个嵌套元组)
    f = xlwt.Workbook()  # 创建工作簿   '''  创建第一个sheet:    sheet1  '''

    sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True)
    first_col = sheet1.col(0)
    third_col = sheet1.col(2)
    third_col.width = 256 * 30
    # #创建sheet
    row0 = [u'时间',u'充值',u'平台']
    #
    # #生成第一行
    for y in range(0,len(row0)):
        sheet1.write(0,y,row0[y],set_style('Times New Roman',180,True))


    result = get_data()
    # print(result)
    # 实例化一个Workbook()对象(即excel文件)
    # wbk = xlwt.Workbook()
    # 新建一个名为Sheet1的excel sheet。此处的cell_overwrite_ok =True是为了能对同一个单元格重复操作。
    # sheet = wbk.add_sheet('Sheet1', cell_overwrite_ok=True)
    # 获取当前日期，得到一个datetime对象如：(2016, 8, 9, 23, 12, 23, 424000)
    today = datetime.today()
    # 将获取到的datetime对象仅取日期如：2016-8-9
    today_date = datetime.date(today)
    # 遍历result中的没个元素。
    for i in range(len(result)):
        # 对result的每个子元素作遍历，
        for j in range(len(result[i])):
            # 将每一行的每个元素按行号i,列号j,写入到excel中。
            sheet1.write(i+1, j, result[i][j],set_style('Times New Roman',200,True))

    # 以传递的name+当前日期作为excel名称保存。
    f.save(str(today_date) +'.xls')

